1. Field of the Invention
The invention relates to a method and an arrangement for protecting against packet losses in packet-oriented transmission of data in which, in particular, the size of the data packets varies greatly, as is the case, for example, with video data, such packet losses mainly being caused by overloading at network nodes in landline networks and due to atmospheric interference and multi-path propagation in mobile channels.
2. Description of the Related Art
The currently most widely used protocols on the transport layer (Layer 4) are user datagram protocol (UDP) and transmission control protocol (TCP) which react very sensitively to bit errors in received packets. As soon as a bit error is detected in a packet by an error-detecting code, the affected packet is discarded or erased. In other words, packet loss also occurs. So-called reliable transport protocols such as TCP use automatic repeat request methods to be able to transport lost or discarded packets reliably to the receiver in spite of disturbed channels. However, this is associated with a very great increase in transmission delay which, however, cannot be tolerated by many applications (for example, communication applications). For this reason, unreliable transport protocols such as, for example, UDP, are used in this case. Although these do not cause any increase in delay, they do not offer any mechanisms for compensating for packet losses either. For this reason, intensive efforts have been made for some time in the Audio-Visual Transport Group (AVT) of the Internet Engineering Task Force (IETF) to connect forward error correction (FEC) methods and packet-oriented transmission with unreliable transport protocols. The principles of these methods are described in IETF RFC 2733—An RTP Payload Format for Generic Forward Error Correction and IETF Internet Draft—An RTP Payload Format for Reed Solomon Codes, both by J. Rosenberg and H. Schulzrinne and will be briefly presented in the section following. These methods are very inefficient with respect to the bandwidth needed, especially in the case of variable-bit-rate data sources, for example video.
In the case of packet losses, the data are not corrupted but are completely lost and so-called erasures occur as described in “Error Control Coding”, by Shu Lin and Daniel Costello, Prentice-Hall, 1983. Since each packet-oriented transport protocol uses sequence numbers, the receiver knows which packets have been lost in a sequence. The coding theory offers a multiplicity of methods for fighting erasures. The IETF, which decides on the standardization of IP-based transport protocols, has recently developed much activity for integrating methods for protecting against packet losses into their real-time transport protocols (RTP), as described by Rosenberg et al. Although these methods use a number of different codes as far as coding is concerned, the basic principle is the same in all approaches. In the transmitter, n, n=1 successive data packets of the source are in each case protected against erasures. As soon as a data packet comes from the source, it is copied into a memory. If the nth packet is available, coding is carried out. Since the data packets in the memory can be generally of different sizes, they are first made the same size. For this purpose, the length, that is to say the number of bytes in a data packet, of the largest data packet is determined and all shorter packets are expanded to this length by adding known bits or symbols, for example zeros. This process is called padding. After that, the packets, which are now of the same size, are combined with one another with the aid of a coding rule of any systematic code. These can be either simple parity codes or complex block codes. Similarly, the coding can be carried out at bit level or at symbol level with appropriate segmenting. Depending on the coding rule, the combining results in a number of redundant packets which, together with the data packets, are then transmitted to the receiver in accordance with the transport and network protocols used. These redundant packets enable the receiver to reconstruct the payload of any lost packets. If the data packets vary greatly in their size, as is the case, for example, with video data, a very large number of symbols which are absolutely redundant must be transmitted in the data packets due to the padding, as a result of which the coding is extremely inefficient with regard to economic utilization of the transmission channel.
If, for example n=5 data packets with lengths of 200, 400, 800, 500 and 600 bytes are used and three redundant packets are generated, the maximum length is 800 bytes and a total of 1500 bytes are therefore needed for the padding, which must be transmitted without being useful for error protection and for source decoding.